#備份 #Velero #etcd
今天這篇文章是作者分享其維運 Kubernetes 叢集中關於備份還原的經驗
對於 Kubernetes 來說,其控制平面由幾大元件組成,分別是 API Server, Controller, Scheduler 以及 ETCD。其中的 Controller 更是整個叢集狀態維護的推手,使用者透過各種方式,不論是 API,Yaml 或是其他方式來新增資源,其實背後的深層目的都是告訴 Controller,我想要達到什麼狀態,而 Controller 透過永無止盡的迴圈與檢查,確保叢集當前的狀態可以符合使用者預期的狀態。
作者工作的經驗中,遇到了想要對 Kubernetes 進行備份與還原的需求,因此思考如何將所有運行狀態的資源狀態給取出,並且當還原時可以將前述備份的資料都寫回去。
作者這邊採用的是一個名為 Velero 的開源工具,透過該工具去還原與備份 Kubernetes ETCD 的資料,並且可以將資料給同步到遠方的儲存空間,譬如 S3, GCS 等
如果對於 ETCD 的備份與還原有興趣的人,可以參考這篇文章,看看別人用 Velero 這個工具來處理,同時也可以想想目前團隊中有沒有這方面的解決方案
https://adrafiq-52.medium.com/kubernetes-backup-and-disaster-recovery-88d6cb8c5bf7